Найдите индексы первого и последнего пробела в
заданной строке. Нумерация символов начинается с индекса 0.
Вход. Одна
строка, содержащая только латинские буквы, знаки препинания и пробелы.
Выход. Выведите
два числа: индекс первого пробела и индекс последнего пробела в строке. Если
пробелов в строке нет, выведите -1.
Пример входа 1 |
Пример выхода 1 |
I am programming on
Python. |
1 19 |
|
|
Пример входа 2 |
Пример выхода 2 |
abrakadabra |
-1 |
строки
Объявим две
переменные:
· a – индекс первого пробела;
· b – индекс последнего пробела;
Инициализируем
их значениями: a = b = -1. Далее перебираем символы строки s. Если текущий символ является пробелом (si = ‘ ‘), то:
·
Если пробелов до этого не было (a = -1),
устанавливаем a = i;
·
В любом случае обновляем b = i;
После завершения
перебора:
·
Если пробелов в
строке нет (a = -1), выводим -1.
·
В противном
случае выводим индексы первого и последнего пробела (a и b).
Реализация алгоритма
Читаем входную строку.
getline(cin, s);
Инициализируем переменные a и b – индексы
первого и последнего пробелов.
a = b = -1;
for (i = 0; i < s.size(); i++)
Если текущий символ si пробел,
то:
·
если пробелов до этого не было (a = -1), устанавливаем
a = i;
·
обновляем b = i;
if (s[i] == ' ')
{
if (a == -1) a =
i;
b = i;
}
Если пробелов в строке нет (a = -1),
выводим -1. Иначе выводим индексы первого и последнего пробела.
if (a == -1) printf("-1\n");
else printf("%d %d\n", a, b);
Python реализация
Читаем входную строку.
s = input()
Инициализируем переменные a и b – индексы
первого и последнего пробелов.
a = b = -1
for i in range(len(s)):
Если текущий символ si пробел,
то:
·
если пробелов до этого не было (a = -1), устанавливаем
a = i;
·
обновляем b = i;
if s[i] == ' ':
if a == -1: a = i
b = i
Если пробелов в строке нет (a = -1),
выводим -1. Иначе выводим индексы первого и последнего пробела.
if a == -1:
print("-1")
else:
print(a, b)
Python реализация – find, rfind
Читаем входную строку.
s = input()
Находим индексы первого и последнего пробела.
·
Функция find возвращает индекс первого вхождения подстроки в строке.
·
Функция rfind возвращает индекс последнего вхождения подстроки в
строке.
Обе функции возвращают -1, если подстрока не найдена.
a = s.find(' ')
b = s.rfind(' ')
Если пробелов в строке нет (a = -1),
выводим -1. Иначе выводим индексы первого и последнего пробела.
if a == -1:
print("-1")
else:
print(a, b)